/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	exists(variable)
{
	return (typeof(variable != "undefined"));
}

/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	isDefined(variable)
{
	return (exists(variable));
}

/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	isNotDefined(variable)
{
	return (!exists(variable));
}

/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	isUndefined(variable)
{
	return (isNotDefined(variable));
}

/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	isNotNull(variable)
{
	return (exists(variable) && (variable != null));
}

/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	isNull(variable)
{
	return (exists(variable) && (variable == null));
}

/**
 *
 *
 * @param variable	The variable to be tested for.
 */
function	isFunction(variable)
{
	return (exists(variable) && (variable instanceof Function));
}

Base.exists			= exists;
Base.isDefined		= isDefined;
Base.isNotDefined	= isNotDefined;
Base.isUndefined	= isUndefined;
Base.isNotNull		= isNotNull;
Base.isNull			= isNull;

Base.isFunction		= isFunction;
